//package org.wyw.utils;
//
//import org.springframework.beans.BeanUtils;
//import java.util.List;
//import java.util.Optional;
//import java.util.function.Supplier;
//import java.util.stream.Collectors;
//
//public class CommonUtils {
//    public static  <T> Optional<T> safeGet(List<T> list, int position) {
//        if (list == null) {
//            return Optional.empty();
//        }
//
//        return list.size() > position ? Optional.ofNullable(list.get(position)) : Optional.empty();
//    }
//
//    public static <T> Optional<T> safeGet(T[] array, int position) {
//        if (array == null) {
//            return Optional.empty();
//        }
//
//        return array.length > position ? Optional.ofNullable(array[position]) : Optional.empty();
//    }
//
//    public static <T> T map(Object o, Supplier<T> supplier) {
//        T t = supplier.get();
//        BeanUtils.copyProperties(o, t);
//        return t;
//    }
//
//    /**
//     * 将list中的元素映射为另一个对象  例如 List<User> -> List<UserDTO>
//     * @param list
//     * @param supplier
//     * @return
//     * @param <T>
//     */
//    public static <T> List<T> mapAsList(List<?> list, Supplier<T> supplier) {
//
//        return list.stream().map(e -> map(e, supplier)).collect(Collectors.toList());
//    }
//}
